/**************************************************************************************
*
*	Copyright (C) 2009 - 2012 Brent Andrew O. Chua - See LICENSE.txt for more info.
*		
*	Filename	-	RenderEntryLight.h
*
*	Description -	
*
*	Comments	-	
*
*	Modification History:
*			Name			   Date					Description
*			MrCodeSushi	-	01/31/2013	-	Creation of this file
**************************************************************************************/
#ifndef _PSX_RENDER_ENTRY_LIGHT_H_
#define _PSX_RENDER_ENTRY_LIGHT_H_

#include "PulseSTD.h"
#include "RenderEntry.h"
#include "RenderEntryList.h"
#include "GraphicsTypes.h"
//#include "ParameterContainer.h"

namespace Pulse
{
	class RenderEntryLight : public RenderEntry
	{
	public:

		RenderEntryLight( void );

		virtual ~RenderEntryLight( void );

		virtual void Execute( GraphicsPipeline *pPipeline );

	private:

		friend RenderPathLightPrePass;

		void SetParameterContainer( ParameterContainer *pContainer ) { m_pParams = pContainer; }

		void SetLightModel( Model *pLightModel );

		RenderEntryList * GetRenderEntryList( void ) { return &m_modelRenderEntries; }

		void Clear( void );

	private:

		ParameterContainer	*m_pParams;
		Model				*m_pLightModel;
		RenderEntryList		m_modelRenderEntries;
	};
}

#endif /* _PSX_RENDER_ENTRY_LIGHT_H_ */